IconGridLayout uses the biggest minimum size to allocate its
children. Next commit will make app icons with long names show
not ellipsize on hover, and it is important that the icon itself
is able to follow that.
Use preferred size if it's bigger than the minimum size.
https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1477
this._calculateSpacing(childSize);
const childBox = new Clutter.ActorBox();
- childBox.set_size(childSize, childSize);
let nChangedIcons = 0;
childBox.set_origin(x, y);
+ const [,, naturalWidth, naturalHeight] = item.get_preferred_size();
+ childBox.set_size(
+ Math.max(childSize, naturalWidth),
+ Math.max(childSize, naturalHeight));
+
// Only ease icons when the page size didn't change
if (this._pageSizeChanged)
item.allocate(childBox);